package cn.tedu.csmall.product.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
 * 添加属性的DTO类
 * @author 夏雨
 * @version 0.0.1
 */
@Data
public class AttributeAddNewDTO {
    /**
     * 所属属性模版id
     */
    @ApiModelProperty(value = "所属属性模版id", required = true)
    @NotNull(message = "添加属性失败，必须提交所属属性模版id！")
    @NotEmpty(message = "添加属性失败，必须提交所属属性模版id！")
    private Long templateId;
    /**
     * 属性名称
     */
    @ApiModelProperty(value = "属性名称", required = true)
    @NotNull(message = "添加属性失败，必须提交属性名称！")
    @NotEmpty(message = "添加属性失败，必须提交属性名称！")
    private String name;
    /**
     * 属性简介（某些属性名称可能相同，通过简介补充描述）
     */
    @ApiModelProperty(value = "属性简介")
    private String description;
    /**
     * 属性类型（1=销售属性，0=非销售属性）
     */
    @ApiModelProperty(value = "属性类型")
    private Integer type;
    /**
     * 输入类型(0=手动录入，1=单选，2=多选，3=单选（下拉列表），4=多选（下拉列表）)
     */
    @ApiModelProperty(value = "输入类型")
    private Integer inputType;
    /**
     * 备选值列表
     */
    @ApiModelProperty(value = "备选值列表")
    private String valueList;
    /**
     * 计量单位
     */
    @ApiModelProperty(value = "计量单位")
    private String unit;
    /**
     * 排序序号
     */
    @ApiModelProperty(value = "排序序号", required = true)
    @NotNull(message = "添加属性失败，必须提交排序序号！")
    @Range(max = 255, message = "添加属性失败，排序序号必须是0~255之间的值！")
    private Integer sort;
    /**
     * 是否允许自定义（1=允许，0=禁止）
     */
    @ApiModelProperty(value = "是否允许自定义（1=允许，0=禁止）")
    private Integer isAllowCustomize;
}
